<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="created" content="2018-10-23T06:18:10.521000000">
    <meta name="changed" content="2018-10-23T06:18:42.262000000">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Language" content="ru">
    <title>
      &gt;Использование подсхем
    </title>
    <link rel="stylesheet" type="text/css" href="../../style.css">
  </head>
  <body>
    <div class="maindiv">
      <h1>
        Использование подсхем
      </h1>
      <p>
        Теперь предположим, что мы хотим построить мультиплексор 4-в-1, используя экземпляры нашего мультиплексора 2-в-1. Конечно, сначала мы создадим новую схему, которую мы назовём <b class=reffig>Mux_4To1</b>. Чтобы добавить мультиплексоры 2-в-1 в нашу схему, мы нажмём <b>один раз</b> на схему <b class=reffig>Mux_2To1</b> в панели проводника, чтобы выбрать её в качестве инструмента, и затем мы можем добавлять её копии, представляемые в виде коробок, щёлкая на холсте.
      </p>
      <p align="center">
        <img src="../../../img-guide/subcirc-3-add.png" alt="#########">
      </p>
      <p>
        Если вы щёлкнули два раза на схеме <b class=reffig>Mux_2To1</b> в панели проводника, то вместо этого окно переключится на редактирование схемы <b class=reffig>Mux_2To1</b>.
      </p>
      <p>
        После создания схемы мы получим следующее.
      </p>
      <p align="center">
        <img src="../../../img-guide/subcirc-4-done.png" alt="#########">
      </p>
      <p>
        Наша схема для мультиплексора 4-в-1 использует три копии мультиплексора 2-в-1, каждая из которых отрисована в виде коробки с контактами вдоль краёв. 
		Контакты на этой коробке соответствую входным и выходным контактам в схеме <b class=reffig>Mux_2To1</b>.  Штифты на восточной стороне прямоугольника соответствуют входам схемы, а на западной - выходам. Они считываются с подсхемы справа налево и сверху вниз и помещаются на символ подсхемы сверху вниз. 
      </p>
      <p>
        Если контакты на чертеже подсхемы имеют метки, связанные с ними, то Logisim будет показывать эти метки в <strong>подсказке</strong> (то есть во временном текстовом поле), когда пользователь наведёт мышь на соответствующее место компонента подсхемы. Если вы находите эти подсказки раздражающими, вы можете отключить их через <a href="../prefs/pref-layout.html">вкладку Чертёж окна Настройки</a>.
      </p>
      <p align="center">
        <img class="notscal" src="../../../img-guide/subcirc-4-tip.png" alt="#########">
      </p>
      <p>
        Некоторые другие компоненты тоже будут показывать эти подсказки: для некоторых контактов встроенных <a href="../../libs/mem/flipflops.html">триггеров</a>, например, проведение мышью над ними объясняет, что делает этот контакт.
      </p>
      <p>
        Кстати, каждый контакт схемы должен быть либо входом, либо выходом. Многие промышленные чипы имеют контакты, которые в некоторых ситуациях ведут себя как входы, а в других - как выходы; вы не можете создавать такие чипы в Logisim (по крайней мере, в текущей версии).
      </p>
      <p>
        Logisim будет поддерживать информацию о разных состояниях для всех подсхем, входящих в схему. Например, если схема содержит триггер, и эта схема используется как подсхема несколько раз, то триггер каждой подсхемы будет иметь собственное значение при моделировании большей схемы.
      </p>
      <p>
        Теперь у нас есть объявленный мультиплексор 4-в-1, и мы можем использовать его в других схемах. Logisim не имеет ограничения на то, насколько глубоко вложенными могут быть схемы - хотя он будет возражать против вложения схем внутрь себя.
      </p>
      <p>
        <b class=note>Примечание:</b> нет ничего плохого в редактировании схемы, используемой как подсхема; вообще-то, это довольно обычное дело. Помните, однако, что любые изменения контактов схемы (их добавление, удаление или перемещение) переставят их и в содержащей схеме тоже. Таким образом, при изменении контактов в схеме, вам также придётся изменять схемы, использующие её в качестве подсхемы.
      </p>
      <p>
        <strong>Далее:</strong> <a href="sub-appear.html">Изменение внешнего вида подсхемы</a>.
      </p>
    </div>
  </body>
</html>
